local CommonOHOH = _G.CommonOHOH;

local M = CommonOHOH.class.new(script, CommonOHOH.files.BaseComponent());

local BroClass=require(script.Bro)


function M.new(...)
	return M(...);
end;


function M.ctor(self,parent)
    M.super.ctor(self,parent);
    self.ConList={}

    self.BroList={}
    self.parent.ActiveBroEventEvent:Connect(function(data)

        self:Full(data)
    end)

    self.parent.AddBroDataEvent:Connect(function(data)
        local bro= BroClass.new(data.id,data.userId,data.weaponId,data.level,data.isEquip)
        local guid=data.id
        self.BroList[guid]=bro

        local c1=data.UpdateEvent:Connect(function()
            bro:Update(data.weaponId,data.level,data.isEquip)
        end)
        table.insert(self.ConList,c1)
        data.DtorEvent:Connect(function()
            bro:dtor()
            self.BroList[guid]=nil
        end)
    end)
end;

function M.dtor(self)
    if self.ConList then
        for _, con in ipairs( self.ConList) do
            con:Disconnect()
        end
    end
    self.ConList={}

	M.super.dtor(self);
end;

-- 获取好友的3D模型,传值用户userId
function M.Full(self,data)


    self.Data=data
    local guid=self.Data.id

    if self.selectBro then
        self.selectBro:Hide()
        self.selectBro=nil
    end
    local bro=self.BroList[guid]
    if  bro then
        bro:Show()
        self.selectBro=bro
    end
end


return M